package com.test.langchain4j.service;

import com.test.langchain4j.domain.LawPrompt;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

/**
 * Created with IntelliJ IDEA.
 *
 * @description:
 * @author: liuziyang
 * @since: 2025/8/1 08:30
 * @modifiedBy:
 * @version: 1.0
 */
public interface LawAssistant {
  /**
   * 案例1.
   *
   * @param question the question
   * @param length the length
   * @return the string
   */
  @SystemMessage("你是一位专业的中国法律顾问，只回答与中国法律相关的问题。" + "输出限制：对于其他领域的问题禁止回答，直接返回'抱歉，我只能回答中国法律相关的问题。'")
  @UserMessage("请回答以下法律问题：{{question}},字数控制在{{length}}以内")
  String chat(@V("question") String question, @V("length") int length);

  /**
   * 案例2.
   *
   * @param lawPrompt the law prompt
   * @return the string
   */
  @SystemMessage("你是一位专业的中国法律顾问，只回答与中国法律相关的问题。" + "输出限制：对于其他领域的问题禁止回答，直接返回'抱歉，我只能回答中国法律相关的问题。'")
  String chat(LawPrompt lawPrompt);
}
